package com.siyougame.business.service.inspect;

import java.util.*;
import javax.servlet.http.HttpServletResponse;
import javax.validation.*;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.siyougame.business.controller.admin.inspect.vo.*;
import com.siyougame.business.controller.app.vo.AppInspectCreateReqVO;
import com.siyougame.business.controller.app.vo.AppInspectPageReqVO;
import com.siyougame.business.controller.app.vo.AppInspectRespVO;
import com.siyougame.business.dal.dataobject.inspect.InspectDO;
import com.siyougame.common.pojo.PageResult;
import com.baomidou.mybatisplus.extension.service.IService;
/**
 * 检查记录 Service 接口
 *
 * @author ${table.author}
 */
public interface InspectService extends IService<InspectDO> {

    /**
     * 创建检查记录
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createInspect(@Valid InspectCreateReqVO createReqVO);
    Long createInspect(@Valid AppInspectCreateReqVO createReqVO);

    /**
     * 更新检查记录
     *
     * @param updateReqVO 更新信息
     */
    void updateInspect(@Valid InspectUpdateReqVO updateReqVO);

    /**
     * 删除检查记录
     *
     * @param id 编号
     */
    void deleteInspect(Long id);

    /**
     * 获得检查记录
     *
     * @param id 编号
     * @return 检查记录
     */
    InspectDO getInspect(Long id);
    AppInspectRespVO getAppInspect(Long id);
    void getAppInspectForExport(Long id, HttpServletResponse response);

    /**
     * 获得检查记录列表
     *
     * @param ids 编号
     * @return 检查记录列表
     */
    List<InspectDO> getInspectList(Collection<Long> ids);

    /**
     * 获得检查记录分页
     *
     * @param pageReqVO 分页查询
     * @return 检查记录分页
     */
    PageResult<InspectDO> getInspectPage(InspectPageReqVO pageReqVO);
    PageResult<InspectDO> getInspectPage(AppInspectPageReqVO pageReqVO);


}
